A technique has conventionally been known that an electric current is detected using a single shunt resistance inserted into a direct-current part of an inverter circuit when U-, V- and W-phase currents are detected for the purpose of controlling an electric motor. In order that all the three-phase currents may be detected in the above-mentioned manner, a three-phase PWM (pulse width modulation) signal pattern needs to be generated in one period of a PWM carrier so that two or more phase currents are detectable. For example, FIG. 21 shows a case where a saw-tooth wave carrier is used. Assume now that U phase duty and V phase duty are equal to each other. In this case, when upper arm switching elements U+ and V+ of the inverter circuit are in an ON state and an upper arm switching element W+ is in an OFF state, a W-phase current can be detected but the other phase currents cannot be detected. In view of this problem, as shown in FIG. 22, it is considered that two-phase or more currents are normally detectable by shifting one phase (the W phase, in this case) of PWM signal, as shown in FIG. 22.
However, when the phases of PWM signal are sequentially shifted, a motor current changes in a stepwise manner in synchronization with transition from a pattern in which the PWM signal of one phase is shifted to another pattern in which the PWM signal of another phase is shifted, as shown in FIG. 23. FIG. 23 also shows parts of waveforms in an enlarged manner. When the U-phase current is increased and decreased alternately repeatedly every carrier period, the U− phase current is decreased twice continuously in synchronization with the aforementioned transition. This results in occurrence of stepwise change as shown in FIG. 23. The current change in this case causes torque variations, resulting in a problem that a level of noise produced during drive of the motor is increased.